// package com.alibaba.druid.sql.dialect.ads.visitor;

// import com.alibaba.druid.sql.dialect.mysql.ast.MySqlPrimaryKey;
// import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlCreateTableStatement;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../visitor/SQLASTVisitor.h"

class MySqlPrimaryKey;
class MySqlCreateTableStatement;
class MySqlKey;

class AdsVisitor :virtual public SQLASTVisitor {
    public:
    virtual BOOL_ptr visit(MySqlPrimaryKey_ptr x) = 0;
    virtual void endVisit(MySqlPrimaryKey_ptr  x) = 0;

    virtual BOOL_ptr visit(MySqlCreateTableStatement_ptr  x) = 0;
    virtual void endVisit(MySqlCreateTableStatement_ptr  x) = 0;
    
    virtual BOOL_ptr visit(MySqlKey_ptr  x) = 0;
    virtual void endVisit(MySqlKey_ptr  x) = 0;
};
